Modern processors are required to execute complex tasks at very high speeds. The introduction of pipelined processor architectures improved the performances of modern processors but also introduced some problems. In a pipelined architecture an execution of an instruction is split to multiple stages.
One of the most commonly used mathematical operations is finding a predefined value within an array of values. Typically, the search can be done by using an expensive CAM unit or by performing a time-consuming sequential search by a processor. CAM units can be purely associative or only partly associative, thus requiring an addition sequential search within one or more sub-arrays.
There is a need to provide an efficient device and a method for searching, within a data block, for a data chunk having a predefined value.